package com.ruoyi.report.service;

import com.ruoyi.report.domain.WalmartReport;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.report.domain.WalmartReportItem;

import java.util.List;

/**
* @author Admin
* @description 针对表【walmart_report(walmart 请求报告表)】的数据库操作Service
* @createDate 2025-02-11 10:10:13
*/
public interface WalmartReportService extends IService<WalmartReport> {

	/**
	 * 查询walmart请求报告列表
	 * @param walmartReport
	 * @return
	 */
	List<WalmartReport> selectWalmartReportList(WalmartReport walmartReport);

	/**
	 * 新增walmart请求报告
	 * @param walmartReport
	 * @return
	 */
	int insertWalmartReport(WalmartReport walmartReport) throws Exception;

	/**
	 * 刷新walmart请求报告状态定时任务
	 */
	void refreshReportStatus() throws Exception;

	/**
	 * 拼接下载的文件路径
	 * @param requestId
	 * @param date
	 * @return
	 */
	String getFilePath(String requestId, String date);

	/**
	 * 查询商品报告详情
	 * @param requestId
	 * @return
	 */
	List<?> selectWalmartReportItemByItemReportId(String requestId);

	/**
	 * 根据唯一请求id查询对应的库存报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartReportInventoryByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的ShippingConfiguration报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartReportShippingConfigurationByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的ShippingProgram报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartReportShippingProgramByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的ReturnOverrides报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartReportReturnOverridesByRequestId(String requestId);


	/**
	 * 根据唯一请求id查询对应的ProMo报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartReportProMoByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的FitmentMissingAttr报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartFitmentMissingAttrByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的FitmentAcesCoverage报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartFitmentAcesCoverageByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的BuyBox报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartBuyBoxByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的LagTime报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartLagTimeByRequestId(String requestId);


	/**
	 * 根据唯一请求id查询对应的AssortmentRecommendations报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartAssortmentRecommendationsByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的Cancellation报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartCancellationByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的Cpa报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartCpaByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的DeliveryDefect报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartDeliveryDefectByRequestId(String requestId);

	/**
	 * 根据唯一请求id查询对应的ItemPerformance报告
	 * @param requestId
	 * @return
	 */
	List<?> selectListWalmartItemPerformanceByRequestId(String requestId);

	/**
	 * 获取walmart平台后台报告数据列表
	 */
	void getReportRequest() throws Exception;
}
